TWiki home TWiki > Book > WebHome (book view) TWiki webs:
Main | TWiki | Sandbox
Book . { Home | Changes | Index | Search | Go }
Search: \.*

Topics in Book web: Changed: Changed by:

AboutThisBook  

18 Nov 2003 - 20:29 - NEW   EelcoVisser

This is the website for Strategies for Program Transformation, a book on program transformation with Stratego/XT. The book is currently in draft form. A future version might be published. New versions of chapters will be added over time.

For each chapter there is a separate wiki page that will be used to place additional material such as sample code, and which can also be used to post comments about the chapter.

 


ChapterComposingStrategies  

05 Dec 2003 - 16:30 - r1.2   EelcoVisser

[ Previous | Up | Next ]

Introduction

In the previous chapter we saw that pure term rewriting is not adequate for term rewriting because of the lack of control over the application of rules. Approaches for encoding such control within the pure rewriting paradigm lead to functionalized control by means of extra rules and constructors at the expense of traversal overhead and at the loss of the separation of rules and strategies. We need a mechanism that provides such control, but maintains the separation of rules and strategies and keeps traversal overhead to a minimum. Such a mechanism should allow strategies parameterized with selections from the available rules.

Also we saw that many transformation problems can be solved by alternative strategies such as a one-pass bottom-up or top-down traversal. Others can be solved by selecting the rules that are applied in an innermost normalization, rather than all the rules in a specification. However, no fixed set of such alternative strategies will be sufficient for dealing with all transformation problems. Rather than providing one or a few fixed rewriting strategies, we need to be able to compose strategies from basic building blocks with a few fundamental operators.

In program transformation, the basic building blocks are single rewrite steps, for example defined by a rewrite rule. This chapter introduces a set of operators for composing such single step transformations into complex transformations. By allowing abstraction over the basic transformation, generic transformation strategies can be defined. The combinators discussed in this chapter cover sequential programming and type-specific traversal. Extensions of this basic framework will be considered in later chapters.

Preprint

Remarks

Lacks discussion of literature.

 


ChapterFirstClassPatternMatching  

14 Dec 2003 - 13:15 - r1.3   EelcoVisser

[ Previous | Up | Next ]

Introduction

So far we have assumed the basic actions applied by strategies are rewrite rules. However, taking a closer look at rules, we see that they are actually composed from several ingredients, i.e., matching the pattern in the left-hand side, verifying the side conditions, and instantiating the pattern on the right-hand side. In addition, a rule implicitly delimits the scope of the variables that it uses. If we take rules apart and make their components available as first-class strategy actions, many interesting idioms can be expressed directly.

This chapter introduces the strategy actions match (?p), build (p), and scope ({x1,...,xn:s}), and shows how unconditional and conditional rewrite rules can be expressed in terms of these actions. Many other language constructs that involve matching can also be expressed in terms of these operations.

Preprint

Remarks

 


ChapterGenericTraversalStrategies  

14 Dec 2003 - 12:58 - r1.2   EelcoVisser

[ Previous | Up | Next ]

Introduction

In the previous chapters we saw how strategies can be used to control transformations and how rules can be broken down into the primitive actions match, build and scope. Together, these combinators allow us to define any transformation. However, the definition of traversals using congruence operators is specific for a data-type. Although a one step traversal can be factored out of the definition of full tree traversals, there are no generic definitions of traversals. This entails, that traversals should be defined for each data type.

In this chapter we introduce combinators for generic term traversal, that support data type independent definition of traversals, which can be reused for any data type. Furthermore, the strategies that we have inspected so far are geared to transform terms while preserving types, i.e., rephrasings according to the taxonomy in Chapter Program Transformation. There is also a class of transformations, in which terms are translated to a different type. In this chapter we introduce a generic term construction and decomposition operator, which allows us to define generic translation or type unifying strategies.

Preprint

Remarks

Very draft

 


ChapterInControlOfRewriting  

14 Dec 2003 - 13:00 - r1.2   EelcoVisser

[ Previous | Up | Next ]

Introduction

Rewrite rules provide a good formalism for the formalization of transformation steps. However, term rewriting based on exhaustive normalization of a subject term with respect to the entire set of rewrite rules turns out not to be adequate for program transformation. In this chapter the problems associated with term rewriting are explored, and several proposed solutions are examined.

Preprint

 


ChapterProgramRepresentation  

14 Dec 2003 - 13:03 - r1.3   EelcoVisser

[ Previous | Up | Next ]

Introduction

Program transformation systems need some kind of representation for program that can be manipulated. Programmers write programs as texts using text editors. Some programming environments provide more graphical (visual) interfaces for programmers to specify certain domain-specific ingredients (e.g., user interface components). But ultimately, such environments have a textual interface for specifying the details. Even if programs are written in a `structured format' such as XML, the representation used by programmers generally is text. So a program transformation system needs to manipulate programs in text format.

However, for all but the most trivial transformations, a structured rather than a textual representation is needed. To bridge the gap between textual and structured representation, parsers and unparsers are needed. Since the theory of formal languages, context-free and regular grammars, and parser construction are standard fair, we will not treat those subjects here. The purpose of this chapter is to introduce the terminology and formalisms used in the rest of this book. This includes formal syntax definition with the syntax definition formalism SDF, parsing, representation of trees as ATerms, mapping of parse trees to abstract syntax trees, and pretty-printing using the target-independent Box language. We illustrate these concepts with a syntax definition for a subset of the Tiger language used in the rest of this book.

Preprint

 


ChapterProgramTransformation  

25 Nov 2003 - 20:12 - NEW   EelcoVisser

Abstract

Many systems for program transformation exist that are often specialized for a specific object language and/or kind of transformation. All these systems share many ideas about program transformation and use similar techniques, but are often ad-hoc in many respects. The ultimate goal is to achieve a specification language or family of specification languages for the high-level, declarative specification of program transformation systems in which generic, language independent schemas of transformation can be captured, and which admits efficient implementation of those transformations that can scale up to large programs.

This book describes one contribution towards this goal, the Stratego/XT language and toolset for the construction of program transformation systems. In this chapter the requirements and design space for transformation systems are explored.

Preprint

 


ChapterProgramTransformationSystems  

25 Nov 2003 - 20:12 - NEW   EelcoVisser

Abstract

Many systems for program transformation exist that are often specialized for a specific object language and/or kind of transformation. All these systems share many ideas about program transformation and use similar techniques, but are often ad-hoc in many respects. The ultimate goal is to achieve a specification language or family of specification languages for the high-level, declarative specification of program transformation systems in which generic, language independent schemas of transformation can be captured, and which admits efficient implementation of those transformations that can scale up to large programs.

This book describes one contribution towards this goal, the Stratego/XT language and toolset for the construction of program transformation systems. In this chapter the requirements and design space for transformation systems are explored.

Preprint

 


ChapterProgramTransformationWithConcreteObjectSyntax  

14 Dec 2003 - 13:01 - r1.2   EelcoVisser

[ Previous | Up | Next ]

Introduction

Meta-programs manipulate structured representations (abstract syntax) of programs. The distance between the concrete syntax meta-programmers use to reason about programs and the notation for abstract syntax manipulation provided by general purpose (meta-) programming languages is too large for many applications. In this chapter it is shown how the syntax definition formalism SDF can be employed to fit a meta-programming language with concrete syntax notation for composing and analyzing object programs. As a case study, the addition of concrete syntax to the program transformation language Stratego is presented. The approach is then generalized to arbitrary meta-languages.

Preprint

 


ChapterScopedDynamicRewriteRules  

14 Dec 2003 - 13:09 - r1.2   EelcoVisser

[ Previous | Up ]

Introduction

The applicability of term rewriting to program transformation is limited by the lack of control over rule application and by the context-free nature of rewrite rules. The first problem is addressed by user-definable rewriting strategies. This chapter addresses the second problem by extending rewriting strategies with scoped dynamic rewrite rules. Dynamic rules are generated at run-time and can access variables available from their definition context. Rules generated within a rule scope are automatically retracted at the end of that scope. The technique is illustrated by means of several program tranformations: bound variable renaming, function inlining, and dead function elimination.

Preprint

 


ChapterStrategiesForProgramTransformationARoadmap  

25 Nov 2003 - 20:15 - NEW   EelcoVisser

See Part I

 


ChapterTermRewriting  

14 Dec 2003 - 13:02 - r1.2   EelcoVisser

[ Previous | Up | Next ]

Introduction

In the previous chapter we saw how terms provide a structured representation for programs derived from a formal definition of the syntax of the programming language. Transforming programs then requires tranformation of terms. There are various ways such transformations could be defined. In this chapter we consider the paradigm of term rewriting for specifying program transformations. In term rewriting a term is transformed by repeated application of rewrite rules. In the first section we first examine the equivalence of expressions and equational reasoning. Then we will formally define term patterns, substitution, term pattern matching, rewrite rules, and normalization with respect to a set of rewrite rules.

Preprint

 


MailingList  

22 Dec 2003 - 17:03 - NEW   EelcoVisser

For announcements of new version, questions and remarks about chapters, subscribe to the following mailinglist:

 


PartI  

14 Dec 2003 - 13:05 - r1.5   EelcoVisser

Introduction

[ Previous | Up | Next ]

Contents

Introduction

This introductory part provides a global overview of the field of program transformation. Chapter Program Transformation introduces a taxonomy of applications of program transformation illustrated with many example transformations. Chapter Program Transformation Systems discusses the requirements for and issues in the realization of program transformation systems. Chapter Roadmap provides a roadmap for the rest of the book.

Preprint

 


PartII  

19 Nov 2003 - 00:12 - NEW   EelcoVisser

Program Transformation by Term Rewriting

 


PartIII  

05 Dec 2003 - 16:33 - r1.2   EelcoVisser

Programmable Rewriting Strategies

Contents

Introduction

Rewrite rules provide a good formalism for expressing basic program transformation steps. However, rewriting has a number of limitations. First, since most sets of rules are not confluent and/or terminating, exhaustive application of rules is not adequate; more careful control over the application of rewrite rules is needed.

Chapter In Control of Rewriting surveys several solutions to controlling rewriting. Most solutions for the encoding of control suffer from a substantial overhead in the definition of traversals and/or intertwine transformation rules and strategy. The paradigm of programmable rewriting strategies provides a solution with minimal overhead for traversal, while maintaining the separation of rules and strategies.

Chapter Composing Strategies to Chapter Generic Traversal Strategies introduce combinators for the composition of programmable strategies. Chapter Composing Strategies introduces combinators for sequential non-deterministic programming and for data type specific traversal using congruence operators. Chapter First Class Pattern Matching reduces rewrite rules to the more primitive strategy actions match, build, and scope. The availability of first class patterns allows many other operations involving pattern matching. Data type specific traversal with congruence operators does solve the separation between rules and strategies, but not the overhead caused by the specification of traversals. Chapter Generic Traversal Strategies shows how combinators for generic traversal can concisely capture traversal schemata independent of any object language.

Another limitation of rewriting is that rewrite rules are context-free. That is, only local information available during the pattern match can be used in a transformation step. In Chapter Scoped Dynamic Rewrite Rules the paradigm of rewriting strategies is extended with scoped dynamic rewrite rules, rules which are generated at run-time to inherit context information.

 


SiteMap  

27 Aug 2002 - 08:00 - NEW   EelcoVisser

Web TWiki Site Map Use to...
Main Home of Main web Search Main web Recent changes in the Main web Get notified of changes to the Main web The Main web is dedicated to the maintenance of this website. This is the place to discuss meta-issues such as what style to use, how best to organize a survey, what the ideal topic size is, how to refer to papers, what the preferred layout of the site should be, etc. ...
TWiki Home of TWiki web Search TWiki web Recent changes in the TWiki web Get notified of changes to the TWiki web Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs... ...discover TWiki details, and how to start your own site.
Gmt Home of Gmt web Search Gmt web Recent changes in the Gmt web Get notified of changes to the Gmt web Generative Model Transformer
Gpce Home of Gpce web Search Gpce web Recent changes in the Gpce web Get notified of changes to the Gpce web
Octave Home of Octave web Search Octave web Recent changes in the Octave web Get notified of changes to the Octave web The Stratego web is the home of Stratego, a language for program transformation based on the paradigm of rewriting strategies. The aim of this language is to provide an expressive and declarative language for expressing all kinds of program transformations. The web includes publications on Stratego, download of the StrategoCompiler, documentation, and descriptions of applications. ...
Sandbox Home of Sandbox web Search Sandbox web Recent changes in the Sandbox web Get notified of changes to the Sandbox web Sandbox test area with all features enabled. ...experiment in an unrestricted hands-on web.
Sdf Home of Sdf web Search Sdf web Recent changes in the Sdf web Get notified of changes to the Sdf web The Sdf web is dedicated to the modular syntax definition formalism SDF. Here you can find implementations, pointers to download pages, syntax definitions for common languages, discussions about new features and implementatios of SDF, and tips and tricks for using the formalism. ...
SdfBackup Home of SdfBackup web Search SdfBackup web Recent changes in the SdfBackup web Get notified of changes to the SdfBackup web The Sdf web is dedicated to the modular syntax definition formalism SDF. Here you can find implementations, pointers to download pages, syntax definitions for common languages, discussions about new features and implementatios of SDF, and tips and tricks for using the formalism. ...
Stratego Home of Stratego web Search Stratego web Recent changes in the Stratego web Get notified of changes to the Stratego web The Stratego web is the home of Stratego, a language for program transformation based on the paradigm of rewriting strategies. The aim of this language is to provide an expressive and declarative language for expressing all kinds of program transformations. The web includes publications on Stratego, download of the StrategoCompiler, documentation, and descriptions of applications. ...
Sts Home of Sts web Search Sts web Recent changes in the Sts web Get notified of changes to the Sts web The Sofware Transformation Systems wiki
Tiger Home of Tiger web Search Tiger web Recent changes in the Tiger web Get notified of changes to the Tiger web Home of the Tiger in Stratego project, which is concerned with the exploration of transformation techniques in compilation using an implementation of a Tiger compiler. ...
Tools Home of Tools web Search Tools web Recent changes in the Tools web Get notified of changes to the Tools web The Tools web is the home of the XT? bundle of program transformation tools. XT is an open framework for program transformation based on the ATerm format for exchange of programs between tools. The bundle includes packages for parsing, pretty-printing, term rewriting, and grammar recovery. It also contains a distribution of the SDF2? GrammarBase?. The OnlinePackageBase is an open collection of packages for program transformation supporting package bundling on demand. ...
Transform Home of Transform web Search Transform web Recent changes in the Transform web Get notified of changes to the Transform web The Transform web is an attempt to get an overview of program transformation research and application. In the first place the web is a collection of resources such as pointers to researchers, conferences, journals, summaries and reviews of papers, and tools for implementing transformation systems. In the second place the Transform web attempts to bring structure in the world of program transformation by means of categories, taxonomies such as the TransformationTaxonomy, and entry points such as the ReengineeringWiki and the DeCompilation page. ...
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact webmaster@strategoxt.org if you need a separate collaboration web for your team. See also AdminTools.
Legend of icons:   Home of web = Go to the home of the web
Search web = Search the web
  Recent changes in the web = See recent changes in the web
Get notified of changes to the web = Subscribe to get notified of changes by e-mail

 


TableOfContents  

25 Nov 2003 - 20:04 - r1.3   EelcoVisser

Part I Introduction

Part II Program Transformation by Term Rewriting

Part III Programmable Rewriting Strategies

 


TitlePage  

01 Feb 2005 - 22:56 - r1.15   EelcoVisser

Strategies for Program Transformation

An Introduction to Program Transformation with Stratego/XT

Stratego/XT

Eelco Visser

DRAFT

2003


The complete draft book is now available as a single PDF file.

We have also started developing an online manual. See the strategoxt-manual project at http://www.stratego-language.org/release



Copying and Citing

copyright © 2003,2004 Eelco Visser

The book chapters that are published here are intended to provide an overview of the main ideas behind the Stratego language and XT toolset. Since the current version is a draft, it should not be considered as the definitive source about Stratego/XT.

The copyright is with the author, Eelco Visser. The book chapters password protected and are available on request (visser+book@cs.uu.nl). Re-distribution of material published here is not allowed. When referring to the website use the following URL:

When referring to Stratego/XT in publications, please refer to the relevant published papers. Good general references are 'Building Program Optimizers with Rewriting Strategies' and 'Program Transformation with StrategoXT'.

When citing the book in a publication use the following BibTeX entry:

@Book{SPT,
  author = {Eelco Visser},
  title = {Strategies for Program Transformation.
           {An} Introduction to Program Transformation 
           with Stratego/XT},
  year = 2003,
  note = {http://www.stratego-language.org/Book},
  url = {http://www.stratego-language.org/Book}
}

 


TitlePageInContents  

25 Nov 2003 - 15:14 - NEW   EelcoVisser

News

2003-12-14

Chapter 11: Scoped Dynamic Rewrite Rules

2003-12-10

Chapter 10: Generic Traversal Strategies

2003-12-08

Chapter 9: First Class Pattern Matching

2003-12-03

Chapter 8: Composing Strategies

2003-12-01

Chapter 7: In Control of Rewriting

2003-11-25

Chapter 6: Program Transformation with Concrete Object Syntax

Chapter 5: Term Rewriting

2003-11-19

Chapter 4: Program Representation

2003-11-17

Chapters 1 - 3: Introduction

2003-11-16

Creation of a website for the Stratego book.

 


UpdateWebPages  

20 Sep 2002 - 08:37 - NEW   EelcoVisser

 


WebChanges  

23 Apr 2002 - 19:46 - r1.2   EelcoVisser

Topic Changed By
WebLeftBar 19 Mar 2008 - 23:14 TWikiGuest
WebStatistics 11 Feb 2008 - 01:12 TWikiGuest
TitlePage? 01 Feb 2005 - 22:56 EelcoVisser
WebHome 03 Jun 2004 - 14:25 EelcoVisser
WebPreferences 06 Feb 2004 - 09:36 EelcoVisser
MailingList 22 Dec 2003 - 17:03 EelcoVisser
WebNews 14 Dec 2003 - 14:05 EelcoVisser
ChapterFirstClassPatternMatching? 14 Dec 2003 - 13:15 EelcoVisser
ChapterScopedDynamicRewriteRules? 14 Dec 2003 - 13:09 EelcoVisser
PartI? 14 Dec 2003 - 13:05 EelcoVisser
ChapterProgramRepresentation? 14 Dec 2003 - 13:03 EelcoVisser
ChapterTermRewriting? 14 Dec 2003 - 13:02 EelcoVisser
ChapterProgramTransformationWithConcreteObjectSyntax? 14 Dec 2003 - 13:01 EelcoVisser
ChapterInControlOfRewriting? 14 Dec 2003 - 13:00 EelcoVisser
ChapterGenericTraversalStrategies? 14 Dec 2003 - 12:58 EelcoVisser
PartIII? 05 Dec 2003 - 16:33 EelcoVisser
ChapterComposingStrategies? 05 Dec 2003 - 16:30 EelcoVisser
ChapterStrategiesForProgramTransformationARoadmap? 25 Nov 2003 - 20:15 EelcoVisser
ChapterProgramTransformationSystems? 25 Nov 2003 - 20:12 EelcoVisser
ChapterProgramTransformation? 25 Nov 2003 - 20:12 EelcoVisser
TableOfContents? 25 Nov 2003 - 20:04 EelcoVisser
TitlePageInContents? 25 Nov 2003 - 15:14 EelcoVisser
WebNewsInBar? 25 Nov 2003 - 15:08 EelcoVisser
PartII? 19 Nov 2003 - 00:12 EelcoVisser
AboutThisBook? 18 Nov 2003 - 20:29 EelcoVisser
UpdateWebPages 20 Sep 2002 - 08:37 EelcoVisser
SiteMap 27 Aug 2002 - 08:00 EelcoVisser
WebChanges500 23 Apr 2002 - 20:09 EelcoVisser
WebChanges200 23 Apr 2002 - 20:05 EelcoVisser
WebChanges100 23 Apr 2002 - 19:53 EelcoVisser
WebChanges 23 Apr 2002 - 19:46 EelcoVisser
WebNotify 23 Jan 2002 - 14:21 EelcoVisser
WebIndex 23 Jan 2002 - 14:20 EelcoVisser
WebTools 08 Nov 2001 - 09:49 TWikiGuest
WebSearch 08 Aug 2001 - 05:26 PeterThoeny

See also

 


WebChanges100  

23 Apr 2002 - 19:53 - NEW   EelcoVisser

Topic Changed By
WebLeftBar 19 Mar 2008 - 23:14 TWikiGuest
WebStatistics 11 Feb 2008 - 01:12 TWikiGuest
TitlePage? 01 Feb 2005 - 22:56 EelcoVisser
WebHome 03 Jun 2004 - 14:25 EelcoVisser
WebPreferences 06 Feb 2004 - 09:36 EelcoVisser
MailingList 22 Dec 2003 - 17:03 EelcoVisser
WebNews 14 Dec 2003 - 14:05 EelcoVisser
ChapterFirstClassPatternMatching? 14 Dec 2003 - 13:15 EelcoVisser
ChapterScopedDynamicRewriteRules? 14 Dec 2003 - 13:09 EelcoVisser
PartI? 14 Dec 2003 - 13:05 EelcoVisser
ChapterProgramRepresentation? 14 Dec 2003 - 13:03 EelcoVisser
ChapterTermRewriting? 14 Dec 2003 - 13:02 EelcoVisser
ChapterProgramTransformationWithConcreteObjectSyntax? 14 Dec 2003 - 13:01 EelcoVisser
ChapterInControlOfRewriting? 14 Dec 2003 - 13:00 EelcoVisser
ChapterGenericTraversalStrategies? 14 Dec 2003 - 12:58 EelcoVisser
PartIII? 05 Dec 2003 - 16:33 EelcoVisser
ChapterComposingStrategies? 05 Dec 2003 - 16:30 EelcoVisser
ChapterStrategiesForProgramTransformationARoadmap? 25 Nov 2003 - 20:15 EelcoVisser
ChapterProgramTransformationSystems? 25 Nov 2003 - 20:12 EelcoVisser
ChapterProgramTransformation? 25 Nov 2003 - 20:12 EelcoVisser
TableOfContents? 25 Nov 2003 - 20:04 EelcoVisser
TitlePageInContents? 25 Nov 2003 - 15:14 EelcoVisser
WebNewsInBar? 25 Nov 2003 - 15:08 EelcoVisser
PartII? 19 Nov 2003 - 00:12 EelcoVisser
AboutThisBook? 18 Nov 2003 - 20:29 EelcoVisser
UpdateWebPages 20 Sep 2002 - 08:37 EelcoVisser
SiteMap 27 Aug 2002 - 08:00 EelcoVisser
WebChanges500 23 Apr 2002 - 20:09 EelcoVisser
WebChanges200 23 Apr 2002 - 20:05 EelcoVisser
WebChanges100 23 Apr 2002 - 19:53 EelcoVisser
WebChanges 23 Apr 2002 - 19:46 EelcoVisser
WebNotify 23 Jan 2002 - 14:21 EelcoVisser
WebIndex 23 Jan 2002 - 14:20 EelcoVisser
WebTools 08 Nov 2001 - 09:49 TWikiGuest
WebSearch 08 Aug 2001 - 05:26 PeterThoeny

 


WebChanges200  

23 Apr 2002 - 20:05 - NEW   EelcoVisser

Topic Changed By
WebLeftBar 19 Mar 2008 - 23:14 TWikiGuest
WebStatistics 11 Feb 2008 - 01:12 TWikiGuest
TitlePage? 01 Feb 2005 - 22:56 EelcoVisser
WebHome 03 Jun 2004 - 14:25 EelcoVisser
WebPreferences 06 Feb 2004 - 09:36 EelcoVisser
MailingList 22 Dec 2003 - 17:03 EelcoVisser
WebNews 14 Dec 2003 - 14:05 EelcoVisser
ChapterFirstClassPatternMatching? 14 Dec 2003 - 13:15 EelcoVisser
ChapterScopedDynamicRewriteRules? 14 Dec 2003 - 13:09 EelcoVisser
PartI? 14 Dec 2003 - 13:05 EelcoVisser
ChapterProgramRepresentation? 14 Dec 2003 - 13:03 EelcoVisser
ChapterTermRewriting? 14 Dec 2003 - 13:02 EelcoVisser
ChapterProgramTransformationWithConcreteObjectSyntax? 14 Dec 2003 - 13:01 EelcoVisser
ChapterInControlOfRewriting? 14 Dec 2003 - 13:00 EelcoVisser
ChapterGenericTraversalStrategies? 14 Dec 2003 - 12:58 EelcoVisser
PartIII? 05 Dec 2003 - 16:33 EelcoVisser
ChapterComposingStrategies? 05 Dec 2003 - 16:30 EelcoVisser
ChapterStrategiesForProgramTransformationARoadmap? 25 Nov 2003 - 20:15 EelcoVisser
ChapterProgramTransformationSystems? 25 Nov 2003 - 20:12 EelcoVisser
ChapterProgramTransformation? 25 Nov 2003 - 20:12 EelcoVisser
TableOfContents? 25 Nov 2003 - 20:04 EelcoVisser
TitlePageInContents? 25 Nov 2003 - 15:14 EelcoVisser
WebNewsInBar? 25 Nov 2003 - 15:08 EelcoVisser
PartII? 19 Nov 2003 - 00:12 EelcoVisser
AboutThisBook? 18 Nov 2003 - 20:29 EelcoVisser
UpdateWebPages 20 Sep 2002 - 08:37 EelcoVisser
SiteMap 27 Aug 2002 - 08:00 EelcoVisser
WebChanges500 23 Apr 2002 - 20:09 EelcoVisser
WebChanges200 23 Apr 2002 - 20:05 EelcoVisser
WebChanges100 23 Apr 2002 - 19:53 EelcoVisser
WebChanges 23 Apr 2002 - 19:46 EelcoVisser
WebNotify 23 Jan 2002 - 14:21 EelcoVisser
WebIndex 23 Jan 2002 - 14:20 EelcoVisser
WebTools 08 Nov 2001 - 09:49 TWikiGuest
WebSearch 08 Aug 2001 - 05:26 PeterThoeny

 


WebChanges500  

23 Apr 2002 - 20:09 - NEW   EelcoVisser

Topic Changed By
WebLeftBar 19 Mar 2008 - 23:14 TWikiGuest
WebStatistics 11 Feb 2008 - 01:12 TWikiGuest
TitlePage? 01 Feb 2005 - 22:56 EelcoVisser
WebHome 03 Jun 2004 - 14:25 EelcoVisser
WebPreferences 06 Feb 2004 - 09:36 EelcoVisser
MailingList 22 Dec 2003 - 17:03 EelcoVisser
WebNews 14 Dec 2003 - 14:05 EelcoVisser
ChapterFirstClassPatternMatching? 14 Dec 2003 - 13:15 EelcoVisser
ChapterScopedDynamicRewriteRules? 14 Dec 2003 - 13:09 EelcoVisser
PartI? 14 Dec 2003 - 13:05 EelcoVisser
ChapterProgramRepresentation? 14 Dec 2003 - 13:03 EelcoVisser
ChapterTermRewriting? 14 Dec 2003 - 13:02 EelcoVisser
ChapterProgramTransformationWithConcreteObjectSyntax? 14 Dec 2003 - 13:01 EelcoVisser
ChapterInControlOfRewriting? 14 Dec 2003 - 13:00 EelcoVisser
ChapterGenericTraversalStrategies? 14 Dec 2003 - 12:58 EelcoVisser
PartIII? 05 Dec 2003 - 16:33 EelcoVisser
ChapterComposingStrategies? 05 Dec 2003 - 16:30 EelcoVisser
ChapterStrategiesForProgramTransformationARoadmap? 25 Nov 2003 - 20:15 EelcoVisser
ChapterProgramTransformationSystems? 25 Nov 2003 - 20:12 EelcoVisser
ChapterProgramTransformation? 25 Nov 2003 - 20:12 EelcoVisser
TableOfContents? 25 Nov 2003 - 20:04 EelcoVisser
TitlePageInContents? 25 Nov 2003 - 15:14 EelcoVisser
WebNewsInBar? 25 Nov 2003 - 15:08 EelcoVisser
PartII? 19 Nov 2003 - 00:12 EelcoVisser
AboutThisBook? 18 Nov 2003 - 20:29 EelcoVisser
UpdateWebPages 20 Sep 2002 - 08:37 EelcoVisser
SiteMap 27 Aug 2002 - 08:00 EelcoVisser
WebChanges500 23 Apr 2002 - 20:09 EelcoVisser
WebChanges200 23 Apr 2002 - 20:05 EelcoVisser
WebChanges100 23 Apr 2002 - 19:53 EelcoVisser
WebChanges 23 Apr 2002 - 19:46 EelcoVisser
WebNotify 23 Jan 2002 - 14:21 EelcoVisser
WebIndex 23 Jan 2002 - 14:20 EelcoVisser
WebTools 08 Nov 2001 - 09:49 TWikiGuest
WebSearch 08 Aug 2001 - 05:26 PeterThoeny

 


WebCustomMenus  

28 Apr 2005 - 22:24 - NEW   Main.wiki

 


WebHome  

03 Jun 2004 - 14:25 - r1.3   EelcoVisser

Strategies for Program Transformation

An Introduction to Program Transformation with Stratego/XT



Stratego/XT



Eelco Visser



DRAFT

2003

 


WebIndex  

23 Jan 2002 - 14:20 - r1.2   EelcoVisser

Number of topics: 36

 


WebLeftBar  

19 Mar 2008 - 23:14 - r1.4   TWikiGuest

incest porn



Cover
Title page
About
Contents
News

Part I

Part II

Part III

 


WebNews  

14 Dec 2003 - 14:05 - r1.7   EelcoVisser

2003-12-14

Chapter 11: Scoped Dynamic Rewrite Rules

2003-12-10

Chapter 10: Generic Traversal Strategies

2003-12-08

Chapter 9: First Class Pattern Matching

2003-12-03

Chapter 8: Composing Strategies

2003-12-01

Chapter 7: In Control of Rewriting

2003-11-25

Chapter 6: Program Transformation with Concrete Object Syntax

Chapter 5: Term Rewriting

2003-11-19

Chapter 4: Program Representation

2003-11-17

Chapters 1 - 3: Introduction

2003-11-16

Creation of a website for the Stratego book.

 


WebNewsInBar  

25 Nov 2003 - 15:08 - NEW   EelcoVisser

News

2003-12-14

Chapter 11: Scoped Dynamic Rewrite Rules

2003-12-10

Chapter 10: Generic Traversal Strategies

2003-12-08

Chapter 9: First Class Pattern Matching

2003-12-03

Chapter 8: Composing Strategies

2003-12-01

Chapter 7: In Control of Rewriting

2003-11-25

Chapter 6: Program Transformation with Concrete Object Syntax

Chapter 5: Term Rewriting

2003-11-19

Chapter 4: Program Representation

2003-11-17

Chapters 1 - 3: Introduction

2003-11-16

Creation of a website for the Stratego book.

 


WebNotify  

23 Jan 2002 - 14:21 - r1.2   EelcoVisser

WebNotify is a subscription service to be automatically notified by email when topics change in the TWiki.Book web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe to the service, please put yourself on the list below. The format is: 3 spaces * Main.yourWikiName - yourEmailAddress

Note: It is helpful to insert your name in alphabetical order (by first name -- ignore the "Main.") -- then you can find your name (or not) more easily if you wish to remove it or confirm that you are on the list.

Related topics: TWikiUsers, TWikiRegistration

 


WebPreferences  

06 Feb 2004 - 09:36 - r1.3   EelcoVisser

TWiki.Book Web Preferences

The following settings are web preferences of the TWiki.Book web. These preferences overwrite the site-level preferences in TWikiPreferences, and can be overwritten by user preferences (your personal topic, i.e. TWikiGuest in the TWiki.Main web)

Preferences:

Notes:

Related Topics:

 


WebSearch  

08 Aug 2001 - 05:26 - NEW   PeterThoeny


Number of topics: 0

 


WebStatistics  

11 Feb 2008 - 01:12 - r1.767   TWikiGuest

Statistics for TWiki.Book Web

Month: Topic
views:
Topic
saves:
File
uploads:
Most popular
topic views:
Top contributors for
topic save and uploads:
Feb 2008 1100 0 0 365 WebStatistics
 51 WebHome
 47 WebChanges
 37 TitlePage
 35 PartI
 33 WebPreferences
 32 WebChanges100
 26 WebNotify
 24 WebIndex
 22 WebLeftBar
 21 WebSearch
 
Jan 2008 4764 0 0 1395 WebStatistics
331 TitlePage
201 WebHome
166 WebNews
156 PartI
137 ChapterProgramRepresentation
122 WebChanges
108 TableOfContents
 95 PartIII
 94 WebLeftBar
 93 ChapterTermRewriting
 
Dec 2007 2055 0 0 250 WebStatistics
165 TitlePage
143 WebHome
 82 WebChanges
 72 WebNews
 70 PartI
 63 WebLeftBar
 58 PartIII
 56 ChapterProgramRepresentation
 52 TableOfContents
 47 WebPreferences
 
Nov 2007 2516 0 0 578 WebStatistics
170 WebHome
159 TitlePage
 95 WebNews
 89 PartI
 76 WebChanges
 68 ChapterProgramRepresentation
 68 TableOfContents
 65 PartIII
 60 PartII
 53 WebIndex
 
Oct 2007 2409 0 0 473 WebStatistics
174 TitlePage
155 WebHome
 94 WebNews
 88 PartI
 82 ChapterProgramRepresentation
 65 WebChanges
 55 PartIII
 50 WebNotify
 49 ChapterTermRewriting
 48 TableOfContents
 
Sep 2007 2867 0 0 857 WebStatistics
188 WebHome
162 TitlePage
 82 PartI
 79 WebChanges
 77 ChapterProgramRepresentation
 66 WebNews
 62 PartIII
 61 AboutThisBook
 58 TableOfContents
 56 WebIndex
 
Aug 2007 4659 0 0 1447 WebStatistics
233 TitlePage
198 WebHome
138 WebChanges
122 PartI
119 TableOfContents
115 PartIII
113 WebNews
111 ChapterProgramRepresentation
105 WebChanges200
103 WebChanges100
 
Jul 2007 5414 0 0 919 WebStatistics
373 TitlePage
258 WebHome
219 WebNews
210 PartI
206 WebChanges
179 ChapterProgramRepresentation
161 TableOfContents
147 PartIII
136 WebChanges500
120 ChapterProgramTransformationWithConcreteObjectSyntax
 
Jun 2007 3636 0 0 268 WebHome
249 WebStatistics
209 TitlePage
170 PartI
149 WebNews
128 TableOfContents
124 WebChanges
119 ChapterProgramRepresentation
111 PartIII
 97 ChapterFirstClassPatternMatching
 95 ChapterComposingStrategies
 
May 2007 3215 0 0 968 WebStatistics
216 WebHome
133 TitlePage
 98 WebNews
 82 PartI
 78 PartIII
 75 TableOfContents
 74 WebChanges
 70 ChapterProgramRepresentation
 69 WebChanges100
 61 AboutThisBook
 
Apr 2007 2739 0 0 299 WebStatistics
211 WebHome
207 TitlePage
 95 WebNews
 94 PartI
 93 WebIndex
 86 TableOfContents
 84 ChapterProgramRepresentation
 76 WebChanges
 74 PartII
 72 AboutThisBook
 
Mar 2007 2864 0 0 509 WebStatistics
236 WebHome
216 TitlePage
 98 WebIndex
 80 PartI
 69 WebNews
 69 AboutThisBook
 68 ChapterProgramTransformationWithConcreteObjectSyntax
 68 PartII
 66 ChapterInControlOfRewriting
 65 ChapterProgramRepresentation
 
Feb 2007 3010 0 0 539 WebStatistics
212 WebHome
202 TitlePage
108 WebNews
102 PartI
 84 ChapterProgramRepresentation
 75 AboutThisBook
 73 WebIndex
 73 TableOfContents
 71 WebChanges500
 70 ChapterTermRewriting
 
Jan 2007 3610 0 0 1118 WebStatistics
215 WebHome
188 TitlePage
137 WebNotify
109 PartI
107 WebNews
 79 WebChanges100
 76 WebChanges
 74 TableOfContents
 72 ChapterProgramRepresentation
 71 WebChanges500
 
Dec 2006 2298 0 0 224 WebStatistics
210 WebHome
158 TitlePage
104 PartI
 89 WebNews
 85 WebChanges100
 70 AboutThisBook
 68 WebChanges
 65 WebLeftBar
 53 ChapterFirstClassPatternMatching
 52 ChapterProgramRepresentation
 
Nov 2006 2741 0 0 447 WebStatistics
218 WebHome
159 TitlePage
 97 PartI
 95 WebNews
 85 WebChanges
 82 WebChanges100
 74 AboutThisBook
 68 ChapterProgramRepresentation
 67 TableOfContents
 60 WebIndex
 
Oct 2006 2614 0 0 367 WebStatistics
214 WebHome
163 TitlePage
 99 PartI
 72 ChapterFirstClassPatternMatching
 72 WebNews
 69 WebChanges
 66 PartIII
 64 TableOfContents
 63 ChapterScopedDynamicRewriteRules
 62 WebLeftBar
 
Sep 2006 2877 0 0 428 WebStatistics
240 WebHome
164 TitlePage
112 WebIndex
 92 PartI
 81 WebLeftBar
 80 ChapterProgramRepresentation
 74 WebNews
 73 WebChanges
 72 ChapterFirstClassPatternMatching
 72 PartIII
 
Aug 2006 3449 0 0 890 WebStatistics
321 TitlePage
310 WebHome
126 WebIndex
108 PartI
 82 WebNews
 81 PartIII
 71 ChapterProgramRepresentation
 71 TableOfContents
 71 WebChanges
 67 AboutThisBook
 
Jul 2006 4635 0 0 1067 WebStatistics
351 TitlePage
307 WebHome
186 PartI
176 WebNews
159 WebIndex
122 PartIII
120 WebChanges
112 WebChanges100
109 TableOfContents
109 AboutThisBook
 
Jun 2006 4398 0 0 1200 WebStatistics
346 TitlePage
303 WebHome
170 PartI
163 WebIndex
124 WebChanges
121 WebNews
108 TableOfContents
101 PartIII
 97 AboutThisBook
 93 WebNotify
 
May 2006 4732 0 0 1146 WebStatistics
481 TitlePage
322 WebHome
171 PartI
167 WebChanges
153 WebIndex
143 WebNews
125 PartIII
123 TableOfContents
113 ChapterProgramRepresentation
113 WebNotify
 
Apr 2006 3684 0 0 811 WebStatistics
374 TitlePage
294 WebHome
146 WebIndex
123 PartI
112 WebNews
112 WebChanges
 97 TableOfContents
 92 PartIII
 90 PartII
 89 WebChanges500
 
Mar 2006 3672 0 0 822 WebStatistics
278 WebHome
238 TitlePage
143 PartI
126 WebIndex
108 WebNews
101 TableOfContents
 93 WebLeftBar
 91 WebChanges500
 89 ChapterProgramRepresentation
 89 MailingList
 
Feb 2006 2612 0 0 439 WebStatistics
225 WebHome
216 TitlePage
120 WebChanges200
107 WebNews
 98 WebIndex
 96 PartI
 73 WebChanges
 70 WebLeftBar
 66 ChapterProgramRepresentation
 63 TableOfContents
 
Jan 2006 2680 0 0 376 WebStatistics
248 TitlePage
224 WebHome
104 WebNews
 93 PartI
 92 WebIndex
 87 TableOfContents
 82 ChapterProgramRepresentation
 73 PartIII
 70 WebChanges
 69 ChapterFirstClassPatternMatching
 
Dec 2005 2359 0 0 426 WebStatistics
231 TitlePage
217 WebHome
112 WebNews
 88 PartI
 87 TableOfContents
 79 WebIndex
 70 ChapterProgramRepresentation
 62 WebChanges
 50 WebNotify
 50 PartIII
 
Nov 2005 2617 0 0 640 WebStatistics
251 TitlePage
231 WebHome
102 WebIndex
 90 PartI
 87 WebNews
 70 ChapterProgramRepresentation
 68 TableOfContents
 67 WebChanges
 61 PartIII
 56 WebNotify
 
Oct 2005 2407 0 0 303 WebHome
220 TitlePage
151 WebStatistics
106 WebIndex
 84 WebNews
 84 PartI
 82 WebChanges
 73 ChapterProgramRepresentation
 70 TableOfContents
 70 PartIII
 66 WebChanges500
 
Sep 2005 1183 0 0 141 WebHome
111 TitlePage
 52 WebIndex
 49 WebStatistics
 47 ChapterProgramRepresentation
 47 PartI
 44 TableOfContents
 41 PartIII
 38 WebNotify
 38 WebNews
 38 WebChanges
 
Aug 2005 1304 0 0 209 WebHome
139 TitlePage
 94 WebStatistics
 91 WebIndex
 51 PartI
 48 ChapterProgramRepresentation
 43 TableOfContents
 39 WebNews
 33 WebNotify
 32 AboutThisBook
 31 PartIII
 
Jul 2005 1634 0 0 268 WebHome
184 TitlePage
130 WebStatistics
 72 WebIndex
 63 PartI
 55 WebChanges
 52 TableOfContents
 52 WebNews
 49 ChapterProgramRepresentation
 45 ChapterProgramTransformation
 44 PartIII
 
Jun 2005 1214 0 0 305 WebHome
143 TitlePage
 95 WebStatistics
 53 ChapterProgramRepresentation
 49 PartI
 37 TableOfContents
 34 WebNews
 29 WebChanges
 28 ChapterScopedDynamicRewriteRules
 28 ChapterProgramTransformation
 27 WebNotify
 
May 2005 1164 0 0 270 WebHome
138 TitlePage
 49 PartI
 48 ChapterProgramTransformation
 43 TableOfContents
 39 WebChanges
 38 ChapterProgramRepresentation
 32 PartII
 31 WebStatistics
 31 ChapterProgramTransformationSystems
 29 PartIII
 
Apr 2005 1027 0 0 218 WebHome
158 TitlePage
 69 WebStatistics
 53 PartI
 46 TableOfContents
 37 WebChanges
 35 ChapterProgramRepresentation
 32 WebNews
 30 ChapterProgramTransformation
 24 WebNotify
 23 WebIndex
 
Mar 2005 1068 0 0 212 WebHome
132 TitlePage
100 WebStatistics
 46 TableOfContents
 45 WebChanges
 43 PartI
 35 ChapterProgramRepresentation
 28 WebChanges200
 26 WebChanges100
 26 WebChanges500
 25 ChapterProgramTransformation
 
Feb 2005 1021 5 0 243 WebHome
172 TitlePage
 68 PartI
 43 TableOfContents
 37 ChapterProgramRepresentation
 33 ChapterProgramTransformation
 29 WebChanges
 26 WebNews
 23 WebStatistics
 22 PartIII
 22 AboutThisBook
  5 EelcoVisser
Jan 2005 998 0 0 304 WebHome
154 TitlePage
 80 PartI
 50 TableOfContents
 46 ChapterProgramTransformation
 31 ChapterProgramRepresentation
 29 AboutThisBook
 27 WebNews
 24 PartII
 21 PartIII
 19 WebChanges
 
Dec 2004 1195 2 0 245 WebHome
109 TitlePage
 90 WebStatistics
 59 PartI
 58 TableOfContents
 45 ChapterProgramRepresentation
 44 WebChanges
 37 WebNews
 35 ChapterProgramTransformation
 29 ChapterComposingStrategies
 29 AboutThisBook
  1 MartinBravenboer
  1 EelcoVisser
Nov 2004 804 0 0 293 WebHome
107 TitlePage
 50 TableOfContents
 45 ChapterProgramRepresentation
 37 PartI
 31 ChapterProgramTransformation
 21 ChapterTermRewriting
 18 PartIII
 18 PartII
 18 ChapterFirstClassPatternMatching
 17 AboutThisBook
 
Oct 2004 924 0 0 322 WebHome
122 TitlePage
 79 TableOfContents
 41 ChapterProgramRepresentation
 38 PartI
 38 ChapterProgramTransformation
 28 ChapterFirstClassPatternMatching
 26 ChapterTermRewriting
 22 ChapterGenericTraversalStrategies
 21 AboutThisBook
 20 PartIII
 
Sep 2004 1356 0 0 695 WebHome
154 TitlePage
 73 TableOfContents
 56 ChapterProgramTransformation
 50 PartI
 36 ChapterProgramRepresentation
 22 ChapterScopedDynamicRewriteRules
 22 ChapterInControlOfRewriting
 19 PartII
 19 AboutThisBook
 18 ChapterProgramTransformationWithConcreteObjectSyntax
 
Aug 2004 787 0 0 337 WebHome
102 TitlePage
 50 TableOfContents
 37 ChapterProgramTransformation
 35 ChapterProgramRepresentation
 26 PartI
 18 ChapterTermRewriting
 17 AboutThisBook
 16 ChapterGenericTraversalStrategies
 12 WebNews
 12 ChapterScopedDynamicRewriteRules
 
Jul 2004 970 0 0 370 WebHome
132 TitlePage
 57 TableOfContents
 46 PartI
 43 ChapterProgramRepresentation
 42 ChapterProgramTransformation
 28 ChapterTermRewriting
 24 ChapterScopedDynamicRewriteRules
 22 PartIII
 22 PartII
 21 ChapterInControlOfRewriting
 
Jun 2004 1008 3 0 614 WebHome
 85 TitlePage
 31 TableOfContents
 31 PartI
 28 ChapterProgramRepresentation
 23 ChapterProgramTransformation
 16 ChapterScopedDynamicRewriteRules
 14 ChapterProgramTransformationSystems
 12 WebNews
 12 PartII
 12 ChapterTermRewriting
  3 EelcoVisser
May 2004 633 0 0 240 WebHome
 61 TitlePage
 41 PartI
 34 ChapterProgramRepresentation
 31 TableOfContents
 29 ChapterProgramTransformation
 21 PartII
 21 ChapterTermRewriting
 19 AboutThisBook
 17 PartIII
 11 ChapterProgramTransformationWithConcreteObjectSyntax
 
Apr 2004 524 0 0 220 WebHome
 43 TitlePage
 27 ChapterProgramRepresentation
 26 PartI
 24 TableOfContents
 16 ChapterProgramTransformation
 15 PartIII
 15 PartII
 15 ChapterTermRewriting
 13 WebNews
 13 AboutThisBook
 
Mar 2004 411 1 0 217 WebHome
 37 TitlePage
 26 TableOfContents
 11 PartI
 11 ChapterProgramTransformation
  9 AboutThisBook
  8 ChapterProgramRepresentation
  6 ChapterTermRewriting
  6 ChapterInControlOfRewriting
  5 WebNews
  5 PartII
  1 EelcoVisser
Feb 2004 736 3 0 304 WebHome
 95 TitlePage
 51 TableOfContents
 27 ChapterProgramRepresentation
 25 ChapterProgramTransformation
 24 PartI
 24 ChapterInControlOfRewriting
 23 ChapterGenericTraversalStrategies
 16 ChapterScopedDynamicRewriteRules
 13 WebPreferences
 13 ChapterFirstClassPatternMatching
  3 EelcoVisser
Jan 2004 196 0 0 113 WebHome
  8 TitlePage
  6 TableOfContents
  6 ChapterScopedDynamicRewriteRules
  6 ChapterProgramRepresentation
  5 WebNews
  5 PartIII
  5 PartI
  5 AboutThisBook
  4 PartII
  4 ChapterTermRewriting
 
Dec 2003 176 32 0  82 WebHome
  9 TitlePage
  9 ChapterFirstClassPatternMatching
  7 WebNews
  7 PartIII
  6 ChapterComposingStrategies
  5 TableOfContents
  5 PartI
  5 ChapterScopedDynamicRewriteRules
  5 ChapterInControlOfRewriting
  4 WebChanges
 32 EelcoVisser
Nov 2003 169 65 0  62 TitlePage
 24 WebHome
 13 PartI
  9 WebNews
  9 TableOfContents
  8 PartII
  7 WebContents?
  5 ChapterProgramRepresentation
  4 WebPreferences
  4 PartIII
  4 AboutThisBook
 65 EelcoVisser

Notes:

 


WebTools  

08 Nov 2001 - 09:49 - NEW   TWikiGuest

Finding topics

Tracking activity

Look and feel

 



Number of topics: 36


Topic WebHome . { }

Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback